Skip to main content

Overview

The price_overview table stores snapshots of current market prices - the exact data you would see if you looked at an item’s Steam Market listing page at that moment in time. Data Source: priceoverview API endpoint Update Frequency: Real-time (seconds) Use Case: Track current market conditions, detect price movements, monitor trading volume

Table Schema

id
INTEGER
required
Auto-incrementing primary key for each record
timestamp
DATETIME
default:"CURRENT_TIMESTAMP"
When this snapshot was taken (UTC)
appid
INTEGER
required
Steam application ID
  • 730 - Counter-Strike 2
  • 570 - Dota 2
  • 440 - Team Fortress 2
  • 753 - Steam (trading cards, emoticons)
market_hash_name
TEXT
required
Exact Steam market name (e.g., “AK-47 | Redline (Field-Tested)”)
item_nameid
INTEGER
Steam’s internal numeric item ID (may be null if not provided)
currency
TEXT
required
ISO 4217 currency code (USD, EUR, GBP, JPY, etc.)
country
TEXT
required
Two-letter country code used for the request (US, GB, DE, etc.)
language
TEXT
required
Language used for the request (english, french, german, etc.)
lowest_price
REAL
The cheapest current listing price (parsed from Steam’s formatted string)
median_price
REAL
The median sale price from recent transactions
volume
INTEGER
Number of sales in the last 24 hours

Indexes

-- Fast lookup for latest item prices
CREATE INDEX idx_overview_item_time
  ON price_overview(market_hash_name, timestamp DESC);

-- Time-based queries
CREATE INDEX idx_overview_timestamp
  ON price_overview(timestamp DESC);

-- App-specific queries
CREATE INDEX idx_overview_appid
  ON price_overview(appid, market_hash_name, timestamp DESC);

Example Queries

Get Latest Price for an Item

SELECT timestamp, lowest_price, median_price, volume
FROM price_overview
WHERE market_hash_name = 'AK-47 | Redline (Field-Tested)'
ORDER BY timestamp DESC
LIMIT 1;

Price Changes in Last Hour

SELECT timestamp, lowest_price, median_price
FROM price_overview
WHERE market_hash_name = 'AK-47 | Redline (Field-Tested)'
  AND timestamp > datetime('now', '-1 hour')
ORDER BY timestamp DESC;

Compare Current Prices Across All Items

SELECT market_hash_name,
       MAX(timestamp) AS last_update,
       lowest_price,
       volume
FROM price_overview
GROUP BY market_hash_name
ORDER BY volume DESC;
SELECT 
    date(timestamp) AS day,
    AVG(volume) AS avg_daily_volume,
    MAX(volume) AS peak_volume
FROM price_overview
WHERE market_hash_name = 'AK-47 | Redline (Field-Tested)'
  AND timestamp > datetime('now', '-7 days')
GROUP BY date(timestamp)
ORDER BY day DESC;

Data Flow

Price Parsing

Prices are automatically parsed from Steam’s localized format:
  • "$5.00"5.0
  • "0,03€"0.03
  • "1.234,56€"1234.56
Currency is extracted from the price string and stored separately.

price_history

Historical hourly prices for long-term trend analysis

orders_histogram

Full order book with bid/ask spreads